package com.zmzncs.lmtc.module.park.pojo.park_info;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author 任建波
 * @since 2020-10-09
 */
@Data
public class DaoerParkAddForm implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "泊链第三方车场编号",required = true)
    @Size(max = 25)
    @NotNull
    private String parkId;

    @ApiModelProperty(value = "道尔车场秘钥",required = true)
    @NotNull
    @Size(max = 32)
    private String appName;

    @ApiModelProperty(value = "车场名称",required = true)
    @Size(max = 75)
    @NotNull
    private String parkName;

    @ApiModelProperty(value = "地址",required = true)
    @Size(max = 75)
    @NotNull
    private String parkAddress;

    @ApiModelProperty(value = "价格描述")
    @Size(max = 25)
    private String priceDesc;

    @ApiModelProperty(value = "总车位",required = true)
    @Max(value = 32767)
    @NotNull
    private Integer totalParkSpace;

    @ApiModelProperty(value = "预约车位数")
    @Max(value = 32767)
    @NotNull
    private Integer reserveParkSpace;

    @ApiModelProperty(value = "联系电话",required = true)
    @Size(max = 11)
    @NotNull
    private String telephone;

    @ApiModelProperty(value = "车场照片URL",required = true)
    private List<String> parkImgUrl;

    @ApiModelProperty(value = "经度",required = true)
    @Size(max = 10)
    @NotNull
    private String longitude;

    @ApiModelProperty(value = "维度",required = true)
    @Size(max = 10)
    @NotNull
    private String latitude;

    @ApiModelProperty(value = "单双系统（1：单，2：双）",required = true)
    @Max(value = 255)
    @NotNull
    private Integer singleDoubleSystem;

    @ApiModelProperty(value = "月租费分润(百分百)")
    @DecimalMax(value = "100")
    private BigDecimal monthDivide;

    @ApiModelProperty(value = "停车费分润(百分百)")
    @DecimalMax(value = "100")
    private BigDecimal orderDivide;

    @ApiModelProperty(value = "月租费分润开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date monthDivideBeginTime;

    @ApiModelProperty(value = "停车费分润开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date orderDivideBeginTime;

    @ApiModelProperty(value = "开户银行")
    @NotNull
    @Size(max = 50)
    private String bankName;

    @ApiModelProperty(value = "开户名称")
    @NotNull
    @Size(max = 50)
    private String accountName;

    @ApiModelProperty(value = "银行账号",required = true)
    @NotNull
    @Size(max = 20)
    private String bankAccount;
}